import Vue from 'vue'
import Vuex from 'vuex'
import user from './modules/user'
import menu from './modules/menu'
Vue.use(Vuex)

const store = new Vuex.Store({
  // 组合模块的配置项
  modules: {
    user,
    menu
  },
  // 全局的状态
  // 1.定义状态
  state: {
    // message: '全局state的message',
    // userInfo: {
    //   uname: '超级管理员',
    //   avtar: 'http://xxxxxx',
    //   nickName: '张三',
    //   money: 198
    // }
  },
  // 2.修改状态(只支持同步修改)
  mutations: {
    // changeMessage(state, params) {
    //   state.message = params
    // }
  },
  // 3.异步修改状态
  actions: {
    // changeMessageSync(context, params) {
    //   setTimeout(() => {
    //     // 不是直接修改数据，而是调用mutations
    //     context.commit('changeMessage', params)
    //   }, 1000)
    // }
  },
  // 类似于计算属性
  getters: {
    // nickName(state) {
    //   return state.userInfo.uname
    // },
    // money(state) {
    //   return state.userInfo.money.toFixed(2)
    // },
    // uname(state) {
    //   return state.user.userInfo.uname
    // },
    // usermoney(state) {
    //   return state.user.userInfo.money.toFixed(2)
    // }
  }
})

export default store
